﻿<?xml version="1.0" encoding="utf-8" ?> 
<language xmlns="http://rsdn.ru/coloring" name="C" options="(?n)">
	<!-- comments -->
	<pattern name="com">
		<entry>(?m://.*?$)</entry>
		<entry>(?s:/\*.*?\*/)</entry>
	</pattern>
	<!-- literals -->
	<pattern name="str">
		<entry>'([^'\\]|\\['"\\0abfnrtv]|\\x[0-9aAbBcCdDeEfF]{1,4})'</entry>
		<entry><![CDATA[(?<!@)"((?<!\\)\\"|[^"])*"]]></entry>
		<entry>@"(""|[^"])*"</entry>
	</pattern>
	<!-- preprocessor definitions -->
	<pattern name="kw" prefix="#\s*" postfix="\b">
        <entry>define</entry>
        <entry>elif</entry>
        <entry>else</entry>
        <entry>endif</entry>
        <entry>error</entry>
        <entry>if</entry>
        <entry>ifdef</entry>
        <entry>ifndef</entry>
        <entry>import</entry>
        <entry>include</entry>
        <entry>line</entry>
        <entry>pragma</entry>
        <entry>undef</entry>
	</pattern>
	<!-- keywords -->
	<pattern name="kw" prefix="\b" postfix="\b">
        <entry>__abstract</entry>
        <entry>__asm</entry>
        <entry>__based</entry>
        <entry>__box</entry>
        <entry>__cdecl</entry>
        <entry>__declspec</entry>
        <entry>__delegate</entry>
        <entry>__event</entry>
        <entry>__except</entry>
        <entry>__fastcall</entry>
        <entry>__finally</entry>
        <entry>__gc</entry>
        <entry>__identifier</entry>
        <entry>__inline</entry>
        <entry>__int16</entry>
        <entry>__int32</entry>
        <entry>__int64</entry>
        <entry>__int8</entry>
        <entry>__interface</entry>
        <entry>__leave</entry>
        <entry>__multiple_inheritance</entry>
        <entry>__nogc</entry>
        <entry>__pin</entry>
        <entry>__property</entry>
        <entry>__sealed</entry>
        <entry>__single_inheritance</entry>
        <entry>__stdcall</entry>
        <entry>__try</entry>
        <entry>__try_cast</entry>
        <entry>__typeof</entry>
        <entry>__uuidof</entry>
        <entry>__value</entry>
        <entry>__virtual_inheritance</entry>
        <entry>asm</entry>
        <entry>auto</entry>
        <entry>bad_cast</entry>
        <entry>bad_typeid</entry>
        <entry>bool</entry>
        <entry>break</entry>
        <entry>case</entry>
        <entry>catch</entry>
        <entry>char</entry>
        <entry>class</entry>
        <entry>const</entry>
        <entry>const_cast</entry>
        <entry>continue</entry>
        <entry>default</entry>
        <entry>delete</entry>
        <entry>do</entry>
        <entry>double</entry>
        <entry>dynamic_cast</entry>
        <entry>else</entry>
        <entry>enum</entry>
        <entry>except</entry>
        <entry>explicit</entry>
        <entry>extern</entry>
        <entry>false</entry>
        <entry>finally</entry>
        <entry>float</entry>
        <entry>for</entry>
        <entry>friend</entry>
        <entry>goto</entry>
        <entry>if</entry>
        <entry>inline</entry>
        <entry>int</entry>
        <entry>long</entry>
        <entry>mutable</entry>
        <entry>namespace</entry>
        <entry>new</entry>
        <entry>operator</entry>
        <entry>private</entry>
        <entry>protected</entry>
        <entry>public</entry>
        <entry>register</entry>
        <entry>reinterpret_cast</entry>
        <entry>return</entry>
        <entry>short</entry>
        <entry>signed</entry>
        <entry>sizeof</entry>
        <entry>static</entry>
        <entry>static_cast</entry>
        <entry>struct</entry>
        <entry>switch</entry>
        <entry>template</entry>
        <entry>this</entry>
        <entry>throw</entry>
        <entry>true</entry>
        <entry>try</entry>
        <entry>type_info</entry>
        <entry>typedef</entry>
        <entry>typeid</entry>
        <entry>typename</entry>
        <entry>union</entry>
        <entry>unsigned</entry>
        <entry>using</entry>
        <entry>virtual</entry>
        <entry>void</entry>
        <entry>volatile</entry>
        <entry>wchar</entry>
        <entry>wchar_t</entry>
        <entry>while</entry>
	</pattern>
</language>